package com.munhrasoft.dinamica.converters;

import java.util.logging.Logger;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import com.munhrasoft.dinamica.business.entities.PassosProcesso;
import com.munhrasoft.dinamica.business.logic.GrupoPassosEJB;

@FacesConverter(value = "passosConverter")
public class PassosConverter implements Converter {

	private GrupoPassosEJB grupoPassosEJB;

	private static Logger logger = Logger.getLogger(PassosConverter.class
			.getName());

	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {

		logger.info("getAsObject Validation Result ");

		try {
			grupoPassosEJB = (GrupoPassosEJB) new InitialContext()
					.lookup("java:global/dinamica-control/GrupoPassosEJB");
		} catch (NamingException e) {
			// TODO Incluir aqui uma mensagem comum pois algo fatal aconteceu
			e.printStackTrace();
		}

		if (arg2 == null) {
			return null;
		} else {		 
			return grupoPassosEJB.findPassosByDescricao(arg2).get(0);
		}

	}

	public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
		logger.info(" getAsString Validation Result "
				+ arg0.isValidationFailed());
		if (arg2 == null) {
			return null;
		} else {
			return ((PassosProcesso) arg2).getDescricao();
		}
	}
}
